<?php
/**
 * Thực hiện các tác vụ nén, chèn JS, CSS
 */
class Compressor extends \Laravel\Asset
{
    protected static $output = "_OUTPUT_CONTAINER_";

    protected static $counter = 0;

    /** Thêm một hoặc một array các file vào Asset
     * @param $files string | array
     */
    public static function put($files) {
        if (is_array($files)) {
            foreach ($files as $f) {
                parent::add(static::$counter++, $f);
            }
        } else {
            parent::add(static::$counter++, $files);
        }
    }

    public static function test()
    {
        echo '<pre>', htmlentities(print_r(static::output(), true)), '</pre>';
    }

    public static function output()
    {
        if (Config::get('compressor.enable')) {

            static::container(static::$output)->add(time(), Config::get('compressor.output.css'));
            static::container(static::$output)->add(time(), Config::get('compressor.output.js'));
            return static::container(static::$output)->styles() . "\n" .
                   static::container(static::$output)->scripts();
        } else {
            return static::container()->styles() . "\n" .
                static::container()->scripts();
        }
    }
}